/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

package opensocial.apps.common;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.chain.web.servlet.ServletWebContext;
import org.apache.commons.configuration.Configuration;

public class AppContext extends ServletWebContext {
  private static final long serialVersionUID = -596735236534105746L;
  public static final String KEY_RESULT = "$$Result_Java_Object$$";
  public static final String KEY_CONTAINER = "ctn";
  public static final String KEY_COMMAND = "cmd";
  public static final String KEY_VIEWER_ID = "vid";
  public static final String KEY_OWNER_ID = "oid";

  private Configuration containerMeta;
  private Configuration configuration;
  public static final String OUTPUT_KEY = "output";

  // Construct an uninitialized AppContext instance.
  public AppContext() {
  }

  /**
   * 
   * @param containerMeta
   * @param configuration
   * @param context
   * @param request
   * @param response
   */
  public AppContext(Configuration containerMeta, Configuration configuration,
      ServletContext context, HttpServletRequest request,
      HttpServletResponse response) {
    super(context, request, response);
    this.containerMeta = containerMeta;
    this.configuration = configuration;
  }

  public Configuration getContainerMeta() {
    return containerMeta;
  }

  public Configuration getConfiguration() {
    return configuration;
  }

  public void responseError(Object error) {

  }

  public void responseOK(Object result) {

  }
}
